Although wireless devices have become increasingly popular, the inherent limitations in the current browser and application technology present a serious impediment to further acceptance of wireless web-based applications. In particular, the single-frame paradigm currently prevailing in Wireless Application Protocol (WAP), compact HTML and similar browsers introduces unacceptable levels of latency and poor support for sophisticated application functionality. As a result, wireless web-based applications have experienced poor customer acceptance and a resulting inability to achieve widespread deployment.
There are many types of wireless data systems designed for a wide variety of wireless data applications. In this context, a “wireless data application” is a system operating with structured data on a public or private wide area, local or personal wireless data network (further referred to as Mobile Network) that a user can access and interact with on a portable device using a browser. Wireless data applications typically connect to database servers or other data management systems where data is stored. Common examples include wireless Internet access, Customer Relationship Management, Partner Relationship Management, Employee Relationship Management, Supply Chain Management, mobile surveys and other data collection applications, healthcare and other telematics systems, field workforce dispatch, mobile timesheet reporting, location-independent collaboration, remote monitoring, notification and alert applications, commerce and trading applications including stock trading, procurement, purchasing and inventory solutions, and so forth. Examples of Mobile Networks include Mobitex, 802.11, GPRS, UMTS, etc.
The interest to wireless data applications is on the rise mostly due to the economic efficiency expectations driven by the opportunity of enabling real-time structured data access and exchange from personal portable devices. These expectations are stimulated by the opportunity to cut inefficiencies in today's handling of mobile workforce, mobile data collection and other important applications that are normally handled via fax, voice communications using phone, or traditional paper documents and forms. Recent addition of wireless messaging including SMS and email messaging has been a popular way to address such inefficiencies, however in most cases such phone, fax, paper, SMS and email communication is done in unstructured and unmanageable way that requires manual data handling. Examples of such information handling inefficiencies include a typical task of manual retyping data collected on paper or via email into a computerized database system, obtaining data reports by phone from a person having access to a computer system, inability to respond in a structured way to email or SMS message generated by a database-driven system, and so forth.
Although wireless data applications are often a low-cost alternative to other types of mobile data management solutions, wireless data applications present their own challenges to users and application developers. There are two commonly used ways to implement wireless data applications using web technology, and coding proprietary applications on the devices.
Web applications and HTML applications in particular have been a big success in many areas. Evolution of web computing resulted in a whole new application architecture commonly referred to as “thin client computing”. There have been several attempts to extend this widely successful model into the wireless networks. As a result of a broad industry-wide effort to port and adapt web technology to wireless networks, a standard known as Wireless Application Protocol (WAP) has been created. WAP browsers run on portable devices and handle special type of web pages in a format known as Wireless Markup Language (WML). Due to widespread adoption of WAP standard by telecom operators and mobile device manufacturers, development of WAP applications became a trivial task that average web engineers can master efficiently. WAP applications inherit all the advantages of web applications architecture. However existing applications present a substantial barrier in terms of quality of user experience that has resulted in unacceptably low rates of adoption of WAP and other similar browser technologies by the end users. Many wireless application projects have never gone beyond trial deployment phase due to the fact that application users refuse to use WAP applications in their day-to-day operations. Partially such user frustration can be attributed to inconvenient data input methods (e.g. a small mobile phone keypad) and unreasonably downsized screens found in the presently available mobile device models. However there are many other important reasons for the users to reject existing wireless applications as means of conducting data transactions. These reasons include unacceptably slow response times, blocking user interfaces of regular web applications, inefficient design of the applications, lack of proactive data communication functionality, and so forth.
All mobile browser implementations known to the inventors utilize synchronous page navigation model. In such model full screen of the application is blocked immediately after the user initiates a page submission to the server and the application remains unusable until the page that the server sent in response is loaded, processed and rendered on the screen. Such blocking mode of operation leaves users unproductively waiting every time a submission or request is made to the server. The concept of synchronous page navigation has been inherited from traditional web-based applications and thus became the standard way to handle wireless and mobile-optimized pages. Inventors strongly believe that different methods for handling mobile data are required in order to enable application users to be more productive. In fact, even the users of traditional web applications will benefit from the inventions described in this specification.
The research conducted by the inventors has led to the conclusion that it is possible to express the degree of usability of thin-client applications (such as HTML applications or WAP applications) with a generic measurement formula of “relative user productivity”. For the purpose of the research the relative user productivity measurement formula has been defined as 100*Tr/(Tr+Tw), where Tr is the average time the user spends reading or interacting with application pages, and Tw is the total time the user spends waiting for the page to submit, load, parse and display. With this measurement the difference in adoption of web applications versus mobile applications can be explained. With web applications page size is normally substantial (often pages span multiple computer screens), thus it often takes several minutes to read and interact with each page, while wait time is usually minimal (in range of few seconds for reasonably configured online applications with broadband Internet access). The result is that relative productivity of web applications is approaching 100% (for example if it takes 3 seconds to load a page and 90 seconds to read and interact with the page, relative productivity is 100*90/(90+3)=96.8%). With mobile (e.g. WAP) applications pages are very small and it takes only a few seconds to read each page. The total wait time for each page is substantial, often exceeding 30 seconds. The result is that relative productivity of mobile applications is well below 50% (for example, if it takes 10 seconds to read the page and 30 seconds of total wait time, relative productivity is 100*10/(10+30)=25%).
This research leads to the conclusion that the balance of wait time versus the productive time user spends with application is one of the important factors that requires major optimization. It has been proven in tests and demo applications built by the inventors for different industries and use cases that elimination of wait time dramatically increases user productivity and satisfaction. Inventors believe that the results of this measurement will be routinely enhanced as faster devices and wireless networks are rolled out. However the user productivity challenge will remain an important barrier to be solved in order to enable wide user acceptance of wireless application technologies.
Another conclusion from the research conducted by the inventors is that most applications require bidirectional flow of information. In most applications analyzed by the inventors there is explicit need for server-initiated wireless data transactions. The latest WAP standard as of time of this writing, WAP 1.2, provides for “push” functionality, however it is normally restricted at implementation level to push of notifications, rather than fully-functional server-initiated transactions and user interaction interfaces. The inventors believe that in order to address this challenge a whole new paradigm of application life cycle is required.
Overall traditional WAP and other application implementations have failed to deliver user experience required by the average person. Development of wireless data applications with proprietary coding approach is the major alternative to thin-client approach for application developers. There are several programmable device platforms available on the market, including Pocket PC devices that use Windows CE operating system from Microsoft, Research In Motion Limited (RIM) handheld pagers, Palm OS-based devices, etc, that provide reasonably sized screens and convenient data input methods such as fully-functional keyboards or pen interfaces. Such programmable device platforms allow application developers to hard-code application functionality on the device using C, C++, C#, Java and other programming languages. Since application developers have full control of the application functionality, such applications normally deliver high quality user interfaces.
However proprietary application coding on portable devices requires very substantial investment of engineering resources and in many cases is economically irrational. Maintenance of the coded applications also represents a substantial challenge. Major investment factors associated with proprietary coding approaches include low levels of development automation, high complexity of coding, extensive testing and optimization requirements, as well as lack of application portability between multiple device platforms and wireless networks. These challenges are complemented with the need to use certain middleware communications solutions in order to enable application-level protocols over packet-level wireless network communications interfaces provided by most public packet-switched wireless networks today. Such middleware solutions are often based on vendor-specific proprietary protocols and require substantial upside investment as well as long-term vendor lock-in. Proprietary coding of wireless data applications proved to be economically unprofitable method of addressing the need for structured wireless data applications. Inventors believe that certain challenges mentioned above will eventually be resolved (for example, roll out of GPRS networks with support for TCP/IP communications will eliminate requirements for proprietary middleware products, and deployment of Java technology on wireless devices will make wireless data application development an easier task and will reduce the portability challenges, etc). However inventors are convinced that Web-based applications will remain a more attractive alternative compared to application coding on the wireless devices.
Thus there is a need in the art for a method and system for development and deployment of proactive “thin-client” wireless data applications that do not exhibit user experience limitations of traditional mobile browser implementations. Specifically, there is a need for an application development methodology and application support infrastructure including browser and server support system implementations, that enable wireless data application developers to utilize economically efficient and standard mobile web technologies to build data applications with acceptable user experience, and that overcome the needs for significant investments in application development that are presently required to successfully develop and deploy wireless data applications.
Therefore, there is a need for a new paradigm for wireless web-based application services that improves both real and perceived system performance, accommodates increased levels of application functionality, and enables increased levels of customer acceptance.